Nonvolatile memories, also known as flash memory devices, have become very popular in a variety of uses including portable memory, mobile phones, digital answering machines, hard disk drives, TVs, personal computers, and personal digital voice recorders, etc. A flash memory may be divided into sectors at the highest level, where sectors are composed of multiple blocks, blocks are composed of multiple pages, and pages are composed of hundreds of bytes, etc. Flash memories can allow for erasing at the chip, sector, block, or page level while programming can be done at the page or byte level. Reading a memory can be done at various levels and may involve varying amounts of data.